From 0a1d385286816a60ae183fdfa76ee4c906a4cf7c Mon Sep 17 00:00:00 2001 From: Anton Gladky Date: Mon, 13 Jul 2020 22:16:23 +0200 Subject: [PATCH] Add vtk8-files --- debian/README.source | 1 + debian/changelog | 27 ++ debian/compat | 1 + debian/control | 311 ++++++++++++++++ debian/copyright | 351 ++++++++++++++++++ debian/gbp.conf | 3 + debian/libvtk8-dev.install | 21 ++ debian/libvtk8-dev.lintian-overrides | 4 + debian/libvtk8-java.install | 3 + debian/libvtk8-java.lintian-overrides | 3 + debian/libvtk8-jni.install | 1 + debian/libvtk8-jni.lintian-overrides | 1 + debian/libvtk8-qt-dev.install | 6 + debian/libvtk8-qt-dev.lintian-overrides | 4 + debian/libvtk8-qt.install | 1 + debian/libvtk8-qt.lintian-overrides | 3 + debian/libvtk8.install | 1 + debian/libvtk8.lintian-overrides | 5 + debian/patches/100_javac-heap.patch | 16 + debian/patches/101_java_install_path.patch | 19 + .../patches/105_unforce_embedded_glew.patch | 16 + ...stall_doxygen_scripts_in_nodoc_build.patch | 146 ++++++++ debian/patches/108_Doxygen-use-mathjax.patch | 28 ++ .../110_do_not_link_against_socket.patch | 14 + debian/patches/20_soversion-sharedlib.patch | 24 ++ debian/patches/30_matplotlib.patch | 13 + debian/patches/50_use_system_utf8.patch | 270 ++++++++++++++ .../patches/60_remove_mpi4py_dependency.patch | 16 + debian/patches/70_fix_ftbfs_gcc49.patch | 106 ++++++ debian/patches/series | 11 + debian/python3-vtk8.install | 1 + debian/python3-vtk8.lintian-overrides | 4 + debian/rules | 119 ++++++ debian/source/format | 1 + debian/tcl-vtk8.install | 3 + debian/tcl-vtk8.lintian-overrides | 3 + debian/tests/buildBoolean | 176 +++++++++ debian/tests/buildDistance | 59 +++ debian/tests/buildGenericClip | 156 ++++++++ debian/tests/buildPNG | 84 +++++ debian/tests/buildPoint | 59 +++ debian/tests/buildVTP | 73 ++++ debian/tests/buildVTU | 129 +++++++ debian/tests/control | 3 + debian/upstream/metadata | 9 + debian/vtk8-doc.docs | 2 + debian/vtk8-doc.links | 1 + debian/vtk8-examples.examples | 1 + debian/vtk8.install | 3 + debian/vtk8.lintian-overrides | 3 + debian/watch | 3 + 51 files changed, 2318 insertions(+) create mode 100644 debian/README.source create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/gbp.conf create mode 100644 debian/libvtk8-dev.install create mode 100644 debian/libvtk8-dev.lintian-overrides create mode 100644 debian/libvtk8-java.install create mode 100644 debian/libvtk8-java.lintian-overrides create mode 100644 debian/libvtk8-jni.install create mode 100644 debian/libvtk8-jni.lintian-overrides create mode 100644 debian/libvtk8-qt-dev.install create mode 100644 debian/libvtk8-qt-dev.lintian-overrides create mode 100644 debian/libvtk8-qt.install create mode 100644 debian/libvtk8-qt.lintian-overrides create mode 100644 debian/libvtk8.install create mode 100644 debian/libvtk8.lintian-overrides create mode 100644 debian/patches/100_javac-heap.patch create mode 100644 debian/patches/101_java_install_path.patch create mode 100644 debian/patches/105_unforce_embedded_glew.patch create mode 100644 debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch create mode 100644 debian/patches/108_Doxygen-use-mathjax.patch create mode 100644 debian/patches/110_do_not_link_against_socket.patch create mode 100644 debian/patches/20_soversion-sharedlib.patch create mode 100644 debian/patches/30_matplotlib.patch create mode 100644 debian/patches/50_use_system_utf8.patch create mode 100644 debian/patches/60_remove_mpi4py_dependency.patch create mode 100644 debian/patches/70_fix_ftbfs_gcc49.patch create mode 100644 debian/patches/series create mode 100644 debian/python3-vtk8.install create mode 100644 debian/python3-vtk8.lintian-overrides create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/tcl-vtk8.install create mode 100644 debian/tcl-vtk8.lintian-overrides create mode 100755 debian/tests/buildBoolean create mode 100755 debian/tests/buildDistance create mode 100755 debian/tests/buildGenericClip create mode 100755 debian/tests/buildPNG create mode 100755 debian/tests/buildPoint create mode 100755 debian/tests/buildVTP create mode 100755 debian/tests/buildVTU create mode 100644 debian/tests/control create mode 100644 debian/upstream/metadata create mode 100644 debian/vtk8-doc.docs create mode 100644 debian/vtk8-doc.links create mode 100644 debian/vtk8-examples.examples create mode 100644 debian/vtk8.install create mode 100644 debian/vtk8.lintian-overrides create mode 100644 debian/watch diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 000000000..a9e646be0 --- /dev/null +++ b/debian/README.source @@ -0,0 +1 @@ +FIXME: Patch away file(DOWNLOAD) call in Utilities/Doxygen/doc_makeall.cmake.in diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..a2fd08ba2 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,27 @@ +vtk8 (8.2.0+dfsg1-1) UNRELEASED; urgency=medium + + [ Gert Wollny ] + * Initial release. (Closes: #XXXXXX) + + [ Drew Parsons ] + * Thanks: Nico Schloemer, Johannes Schauer and Gert for initial work + and python3 packaging. + * Drop deprecated patches: + 10_allpatches.patch + 40_use_system_sqlite.patch + - VTK_USE_SYSTEM_SQLITE now available + 60_use_system_mpi4py.patch + - handled by VTK_USE_SYSTEM_MPI4PY + 80_fix_arm_compilation.patch + - Qt5 now builds on arm + 107_gl2ps_1.4.0.patch + 109_use_parallel_hdf5.patch + 111_search_multiarch_paths_for_libproj.patch + + [ Nico Schlömer ] + * Update to 8.2.0 + * remove obsolete patches, configure options + * rework utf-8 patch + * Update standard to 4.4.1 (no changes) + + -- Johannes Schauer Fri, 03 Nov 2017 19:59:42 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..48082f72f --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +12 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..fcca93ea8 --- /dev/null +++ b/debian/control @@ -0,0 +1,311 @@ +Source: vtk8 +Maintainer: Debian Science Team +Uploaders: Anton Gladky , + Gert Wollny , + Nico Schlömer +Section: graphics +Priority: optional +Build-Depends-Arch: debhelper (>= 12), + cmake (>= 3.2.0), + javahelper, +Build-Depends: chrpath, + default-jdk, + default-libmysqlclient-dev, + dh-python, + libftgl-dev, + hdf5-tools, + libalglib-dev, + libavcodec-dev, + libavformat-dev, + libavutil-dev, + libboost-all-dev, + libdigest-md5-perl, + libdouble-conversion-dev, + libeigen3-dev, + libexpat-dev, + libfreetype6-dev, + libfontconfig1-dev, + libgdal-dev, + libgl1-mesa-dev | libgl-dev, + libgl2ps-dev (>= 1.4.0), + libglew-dev, + libglu1-mesa-dev | libglu-dev, + libhdf5-openmpi-dev, + libjpeg-dev, + libjsoncpp-dev, + libmrmpi-dev, + libnetcdf-dev, + libnetcdf-cxx-legacy-dev, + libosmesa6-dev, + libpng-dev, + libpq-dev, + libproj-dev, + libqt5opengl5-dev, + libqt5webkit5-dev, + libqt5x11extras5-dev, + libsqlite3-dev, + libswscale-dev, + libtheora-dev, + libtiff-dev, + libutfcpp-dev, + libx11-dev, + libxdmf-dev, + libxml2-dev, + libxpm-dev, + libxt-dev, + liblz4-dev, + lzma, + mpi-default-dev, + pkg-config, + python3-all-dev, + python3-matplotlib, + python3-mpi4py, + qtbase5-dev, + qttools5-private-dev, + r-base, + r-base-core, + r-base-dev, + tcl-dev, + tk-dev, + x11proto-core-dev, + xauth, + xvfb, + zlib1g-dev +Build-Depends-Indep: doxygen-latex, + texlive-binaries, + graphviz, + ghostscript, + libjs-mathjax, + gnuplot-nox +Standards-Version: 4.4.1 +Rules-Requires-Root: no +Vcs-Browser: https://salsa.debian.org/science-team/vtk8 +Vcs-Git: https://salsa.debian.org/science-team/vtk8.git +Homepage: https://www.vtk.org/ + +Package: libvtk8-dev +Architecture: any +Section: libdevel +Depends: default-libmysqlclient-dev, + libavcodec-dev, + libavformat-dev, + libavutil-dev, + libc6-dev, + libeigen3-dev, + libexpat-dev, + libfreetype6-dev, + libgdal-dev, + libgl1-mesa-dev | libgl-dev, + libgl2ps-dev, + libglu1-mesa-dev | libglu-dev, + libhdf5-mpi-dev, + libjpeg-dev, + libjsoncpp-dev, + libnetcdf-dev, + libnetcdf-cxx-legacy-dev, + libpng-dev, + libpq-dev, + libproj-dev, + libpython3-dev, + libswscale-dev, + libtheora-dev, + libtiff-dev, + libvtk8 (= ${binary:Version}), + libvtk8-java (= ${binary:Version}), + libx11-dev, + libxft-dev, + libxml2-dev, + libxss-dev, + libxt-dev, + mpi-default-dev, + python3-vtk8 (= ${binary:Version}), + tcl-dev, + tcl-vtk8 (= ${binary:Version}), + tk-dev, + vtk8 (= ${binary:Version}), + x11proto-core-dev, + zlib1g-dev, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: vtk8-doc, + vtk8-examples +Conflicts: libvtk5-dev, + libvtk6-dev, + libvtk7-dev +Replaces: libvtk5-dev, + libvtk6-dev, + libvtk7-dev +Description: VTK header files + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides the VTK header files required to compile + C++ programs that use VTK to do 3D visualisation. + +Package: libvtk8-qt-dev +Architecture: any +Section: libdevel +Depends: libvtk8-dev (= ${binary:Version}), + libvtk8-qt (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, + qtbase5-dev, + qttools5-private-dev, + libqt5opengl5-dev, + libqt5webkit5-dev +Description: VTK header files, containing Qt files + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides the VTK header files required to compile + C++ programs that use VTK to do 3D visualisation. Qt files + +Package: libvtk8 +Architecture: any +Section: libs +Depends: ${misc:Depends}, + ${shlibs:Depends} +Suggests: mpi-default-bin, + vtk8-doc, + vtk8-examples +Replaces: libvtk5.8, + libvtk7.1 +Description: VTK libraries + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides the shared libraries needed to run C++ programs + that use VTK. + +Package: libvtk8-qt +Architecture: any +Section: libs +Depends: ${misc:Depends}, + ${shlibs:Depends} +Description: VTK libraries, Qt files + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides the shared libraries needed to run C++ programs + that use VTK. Qt files + +Package: libvtk8-jni +Architecture: any +Section: java +Depends: ${java:Depends}, + ${misc:Depends}, + ${shlibs:Depends} +Breaks: libvtk6-jni, + libvtk7-jni +Replaces: libvtk6-jni, + libvtk7-jni +Description: VTK - Java Native Interface (JNI) files + The Visualization Toolkit (VTK) is an object oriented, high level + library that allows one to easily write C++ programs, Tcl, Python and + Java scripts that do 3D visualization. + . + This package provides the Java Native Interface files. + +Package: libvtk8-java +Architecture: any +Section: java +Depends: libvtk8-jni (= ${binary:Version}), + ${java:Depends}, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: java-virtual-machine, + libvtk8-dev (= ${binary:Version}), + vtk8-doc, + vtk8-examples +Replaces: libvtk6-java, + libvtk7-java +Breaks: libvtk6-java, + libvtk7-java +Description: VTK - Java language support + The Visualization Toolkit (VTK) is an object oriented, high level + library that allows one to easily write C++ programs, Tcl, Python and + Java scripts that do 3D visualization. + . + This package provides the VTK Java language support. + +Package: python3-vtk8 +Architecture: any +Section: python +Depends: libvtk8 (= ${binary:Version}), + libvtk8-qt (= ${binary:Version}), + python3-mpi4py, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Suggests: mayavi2, + vtk8-doc, + vtk8-examples +Breaks: python3-vtk6, + python3-vtk7 +Replaces: python3-vtk6, + python3-vtk7 +Description: Python bindings for VTK + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides the python3 bindings for VTK. + +Package: tcl-vtk8 +Architecture: any +Section: interpreters +Depends: libvtk8 (= ${binary:Version}), + libvtk8-qt (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: vtk8-doc, + vtk8-examples +Description: Tcl bindings for VTK + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides the shared libraries and executable that enable + one to use VTK from Tcl/Tk scripts. + +Package: vtk8 +Architecture: any +Section: interpreters +Depends: libvtk8 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: vtk8-doc, + vtk8-examples +Description: Binaries for VTK8 + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides binaries for VTK8 + +Package: vtk8-doc +Architecture: all +Section: doc +Depends: doc-base, + libjs-jquery, + libjs-mathjax, + ${misc:Depends} +Suggests: libvtk8-dev, + vtk8-examples +Description: VTK class reference documentation + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides documentation for VTK8 + +Package: vtk8-examples +Architecture: all +Depends: ${misc:Depends} +Suggests: libvtk8-dev, + python3, + python3-vtk8, + tcl-vtk8, + tclsh, + vtk8-doc +Description: VTK examples + The Visualization Toolkit (VTK) is an open-source software system + for 3D computer graphics, image processing, and visualization. + . + This package provides examples for VTK8 diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..3eb63e1a1 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,351 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: https://www.vtk.org/ +Upstream-Name: Visualization Toolkit +Files-Excluded: + Web/* + Examples/GUI/Win32 + ThirdParty/doubleconversion/vtkdoubleconversion/ + ThirdParty/expat/vtkexpat + ThirdParty/freetype/vtkfreetype + ThirdParty/gl2ps/vtkgl2ps + ThirdParty/hdf5/vtkhdf5 + ThirdParty/jpeg/vtkjpeg + ThirdParty/jsoncpp/vtkjsoncpp + ThirdParty/libproj4/vtklibproj4 + ThirdParty/libxml2/vtklibxml2 + ThirdParty/lz4/vtklz4 + ThirdParty/lzma/vtklzma + ThirdParty/netcdf/vtknetcdf + ThirdParty/png/vtkpng + ThirdParty/sqlite/vtksqlite + ThirdParty/tiff/vtktiff + ThirdParty/zlib/vtkzlib + ThirdParty/glew/vtkglew + ThirdParty/utf8 + ThirdParty/AutobahnPython + ThirdParty/SixPython + ThirdParty/ZopeInterface + ThirdParty/mpi4py + ThirdParty/Twisted + ThirdParty/xdmf3 + Rendering/VolumeOpenGL + +Files: * +Copyright: 1993-2015 Ken Martin, Will Schroeder, Bill Lorensen +License: BSD-3-clause + +Files: Examples/GUI/Qt/ImageViewer/main.cxx + Examples/GUI/Qt/Events/main.cxx + Examples/GUI/Qt/Events/GUI4.h +Copyright: 2004 Sandia Corporation +License: Sandia-2004 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that this Notice and any + statement of authorship are reproduced on all copies. + +Files: Examples/GUI/Qt/Events/GUI4.cxx +Copyright: 2004 Sandia Corporation, + Ken Martin, Will Schroeder, Bill Lorensen +License: Sandia-2004+BSD-3-clause + Sandia-2004: Redistribution and use in source and binary forms, with + or without modification, are permitted provided that this Notice and any + statement of authorship are reproduced on all copies. + +Files: Examples/GUI/Qt/SimpleView/SimpleView.cxx + Examples/GUI/Qt/SimpleView/main.cxx +Copyright: 2007 Sandia Corporation +License: Sandia-2007 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that this Notice and any + statement of authorship are reproduced on all copies. + +Files: Examples/Statistics/*.cxx +Copyright: 2008 Sandia Corporation +License: Sandia-2008 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that this Notice and any + statement of authorship are reproduced on all copies. + +Files: Examples/GUI/Qt/SimpleView/SimpleView.h + Examples/GUI/Qt/SimpleView/main.cxx +Copyright: 2009 Sandia Corporation +License: Sandia-2009 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that this Notice and any + statement of authorship are reproduced on all copies. + +Files: Infovis/Layout/vtkCosmicTreeLayoutStrategy.h + Infovis/Layout/vtkTreeOrbitLayoutStrategy.h +Copyright: 2005-2008 Sandia Corporation, Kitware Inc. + Sandia National Laboratories, New Mexico PO Box 5800 Albuquerque, NM 87185 + Kitware Inc., 28 Corporate Drive, Clifton Park, NY 12065, USA +License: BSD-3-clause + +Files: Common/Core/CaseFolding.txt +Copyright: 1991-2008 Unicode, Inc. +License: Unicode + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Unicode data files and any associated documentation + (the "Data Files") or Unicode software and any associated documentation + (the "Software") to deal in the Data Files or Software + without restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, and/or sell copies of + the Data Files or Software, and to permit persons to whom the Data Files + or Software are furnished to do so, provided that either + (a) this copyright and permission notice appear with all copies + of the Data Files or Software, or + (b) this copyright and permission notice appear in associated + Documentation. + . + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THE DATA FILES OR SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in these Data Files or Software without prior + written authorization of the copyright holder. + +Files: ThirdParty/xdmf2/vtkxdmf2/libsrc/* +Copyright: 2002 US Army Research Laboratory +License: BSD plus modification notice + +Files: ThirdParty/xdmf3/vtkxdmf3/* +Copyright: 2011 US Army Research Laboratory +License: BSD plus modification notice + +Files: ThirdParty/verdict/vtkverdict/* +Copyright: 2006 Sandia Corporation +License: BSD-3-clause + +Files: ThirdParty/VPIC/* +Copyright: 2007, Los Alamos National Security, LLC +License: BSD-3-clause + +Files: ThirdParty/TclTk/* +Copyright: 1990-1994 The Regents of the University of California. + 1994-1997 Sun Microsystems, Inc. + 1998 by Scriptics Corporation. +License: BSD-like + This software is copyrighted by the Regents of the University of + California, Sun Microsystems, Inc., Scriptics Corporation, + and other parties. The following terms apply to all files associated + with the software unless explicitly disclaimed in individual files. + . + The authors hereby grant permission to use, copy, modify, distribute, + and license this software and its documentation for any purpose, provided + that existing copyright notices are retained in all copies and that this + notice is included verbatim in any distributions. No written agreement, + license, or royalty fee is required for any of the authorized uses. + Modifications to this software may be copyrighted by their authors + and need not follow the licensing terms described here, provided that + the new terms are clearly indicated on the first page of each file where + they apply. + . + IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY + FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY + DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + . + THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE + IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE + NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR + MODIFICATIONS. + . + GOVERNMENT USE: If you are acquiring this software on behalf of the + U.S. government, the Government shall have only "Restricted Rights" + in the software and related documentation as defined in the Federal + Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you + are acquiring the software on behalf of the Department of Defense, the + software shall be classified as "Commercial Computer Software" and the + Government shall have only "Restricted Rights" as defined in Clause + 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the + authors grant the U.S. Government and others acting in its behalf + permission to use and distribute the software in accordance with the + terms specified in this license. + +Files: ThirdParty/exodusII/* +Copyright: 2005 Sandia Corporation. +License: BSD-3-clause + +Files: Imaging/Morphological/vtkImageConnectivityFilter.* +Copyright: 2014 David Gobbi +License: BSD-3-clause + +Files: Examples/Android/NativeVTK/jni/main.cxx Examples/Android/JavaVTK/src/com/kitware/JavaVTK/* + Examples/Android/JavaVTK/jni/main.cxx + Interaction/Widgets/Testing/Cxx/TestPickingManager* +Copyright: 2007-2010 The Android Open Source Project +License: Apache-2 + +Files: Interaction/Widgets/Testing/Cxx/TestPickingManagerWidgets.cxx + Interaction/Widgets/Testing/Cxx/TestPickingManagerSeedWidget.cxx + Rendering/Core/Testing/Cxx/TestPickingManager.cxx + Rendering/Core/vtkPickingManager.* + Utilities/Scripts/SetupExternalData.sh +Copyright: Kitware Inc +License: Apache-2 + +Files: Rendering/OpenGL2/vtkDepthImageProcessingPass.cxx + Rendering/OpenGL2/vtkDepthImageProcessingPass.h + Rendering/OpenGL2/vtkEDLShading.cxx + Rendering/OpenGL2/vtkEDLShading.h +Copyright: 2005-2008 Sandia Corporation, Kitware Inc. +License: BSD-3-clause + +Files: Utilities/MetaIO/vtkmetaio/metaFEMObject.* + Utilities/Maintenance/ArchiveTestingData.py + Utilities/Maintenance/computeCodeCoverageLocally.sh + Utilities/Maintenance/SourceTarball.bash + Utilities/Maintenance/computeCodeCoverageLocallyForOneTest.sh +Copyright: Insight Software Consortium +License: Apache-2 + +Files: Common/Color/vtkColorSeries.* +Copyright: 2010 Brewer, Cynthia A. and Mark Harrower and Andy Woodruff and David Heyman +License: Apache-2-modified + The color schemes below are copyright under the following license, excerpted + from http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html + on August 13, 2012: + . + Apache-Style Software License for ColorBrewer software and + ColorBrewer Color Schemes + . + Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania + State University. + . + Licensed under the Apache License, Version 2.0 (the "License"); you may not + use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + . + This text from my earlier Apache License Version 1.1 also remains in place for + guidance on attribution and permissions: + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + 1. Redistributions as source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. The end-user documentation included with the redistribution, if any, must + include the following acknowledgment: + "This product includes color specifications and designs developed by + Cynthia Brewer (http://colorbrewer.org/)." + Alternately, this acknowledgment may appear in the software itself, if + and wherever such third-party acknowledgments normally appear. + 4. The name "ColorBrewer" must not be used to endorse or promote products + derived from this software without prior written permission. For written + permission, please contact Cynthia Brewer at cbrewer@psu.edu. + 5. Products derived from this software may not be called "ColorBrewer", nor + may "ColorBrewer" appear in their name, without prior written permission + of Cynthia Brewer. + +Files: Filters/Parallel/vtkBlockDistribution.h + Infovis/Boost/Testing/Cxx/TestVariantSerialization.cxx + Infovis/Boost/vtkVariantBoostSerialization.h + Infovis/BoostGraphAlgorithms/vtkBoostBreadthFirstSearch.cxx + Common/DataModel/vtkDistributedGraphHelper.* +Copyright: 2008 The Trustees of Indiana University +License: Boost-1.0 + Boost Software License - Version 1.0 - August 17th, 2003 + . + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + . + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + * Neither the name of Sandia Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Apache-2 + On Debian systems, the full text of the Apache License + Version 2.0 can be found in the file + `/usr/share/common-licenses/Apache-2.0'. + +License: BSD-plus-modification-notice + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + * Neither the name of the U.S. Army Research Laboratory nor the names + of any contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + * Modified source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 000000000..af46c8f66 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,3 @@ +[DEFAULT] +pristine-tar = True + diff --git a/debian/libvtk8-dev.install b/debian/libvtk8-dev.install new file mode 100644 index 000000000..2232adca5 --- /dev/null +++ b/debian/libvtk8-dev.install @@ -0,0 +1,21 @@ +# add doxygen docs +# to get paraview debian/build properly on top of vtk we now add this as a symlink +# in the python3-vtk8 package +# /usr/lib/*/python3.6/site-packages/vtk/* +CMake/TopologicalSort.cmake usr/lib/cmake/vtk-8.2/ +CMake/vtkGroups.cmake usr/lib/cmake/vtk-8.2/ +CMake/vtkTesting*.cmake usr/lib/cmake/vtk-8.2/ +Common/DataModel/vtkMarchingCubesTriangleCases.h usr/include/vtk-8.2/ +Filters/Statistics/vtkStatisticsAlgorithmPrivate.h usr/include/vtk-8.2/ +IO/Import/vtk3DS.h usr/include/vtk-8.2/ +Testing/Core/vtkTestDriver.h usr/include/vtk-8.2 +Testing/Core/vtkTestUtilities.h usr/include/vtk-8.2/ +Testing/Core/vtkTesting*.h usr/include/vtk-8.2/ +Testing/Rendering/vtkRegressionTestImage.h usr/include/vtk-8.2/ +Testing/Rendering/vtkTesting*.h usr/include/vtk-8.2 +Wrapping/Java/JavaDependencies.cmake.in usr/lib/cmake/vtk-8.2/ +# debian/build/lib/cmake/vtk-8.2/Modules/*-Headers.cmake usr/lib/cmake/vtk-8.2/Modules/ +usr/include/vtk-8.2 usr/include +usr/lib/*/*.so +usr/lib/*/cmake/vtk-8.2 +usr/share/doc/vtk-8.2/doxygen/* /usr/share/vtk-8.2/doxygen/ diff --git a/debian/libvtk8-dev.lintian-overrides b/debian/libvtk8-dev.lintian-overrides new file mode 100644 index 000000000..f3c70f0a1 --- /dev/null +++ b/debian/libvtk8-dev.lintian-overrides @@ -0,0 +1,4 @@ +libvtk8-dev: shlib-without-versioned-soname +libvtk8-dev: package-name-doesnt-match-sonames +libvtk8-dev: postinst-must-call-ldconfig +libvtk8-dev: hardening-no-relro diff --git a/debian/libvtk8-java.install b/debian/libvtk8-java.install new file mode 100644 index 000000000..20338ec84 --- /dev/null +++ b/debian/libvtk8-java.install @@ -0,0 +1,3 @@ +usr/bin/vtkParseJava-8.2 usr/bin +usr/bin/vtkWrapJava-8.2 usr/bin +usr/lib/*/vtk8.jar usr/share/java diff --git a/debian/libvtk8-java.lintian-overrides b/debian/libvtk8-java.lintian-overrides new file mode 100644 index 000000000..4cc65e88d --- /dev/null +++ b/debian/libvtk8-java.lintian-overrides @@ -0,0 +1,3 @@ +# Upstream does not provide manpages +libvtk8-java: binary-without-manpage +libvtk8-java: hardening-no-relro diff --git a/debian/libvtk8-jni.install b/debian/libvtk8-jni.install new file mode 100644 index 000000000..9476596e5 --- /dev/null +++ b/debian/libvtk8-jni.install @@ -0,0 +1 @@ +usr/lib/*/jni/ diff --git a/debian/libvtk8-jni.lintian-overrides b/debian/libvtk8-jni.lintian-overrides new file mode 100644 index 000000000..9ef03e659 --- /dev/null +++ b/debian/libvtk8-jni.lintian-overrides @@ -0,0 +1 @@ +libvtk8-jni: hardening-no-relro diff --git a/debian/libvtk8-qt-dev.install b/debian/libvtk8-qt-dev.install new file mode 100644 index 000000000..c92ab8cb6 --- /dev/null +++ b/debian/libvtk8-qt-dev.install @@ -0,0 +1,6 @@ +# remove Python files here and privide a symlink in the python package +# usr/lib/*/python3.6/site-packages/vtk/*Qt* +usr/lib/*/*Qt*.so +# usr/lib/cmake/vtk-8.2/Modules/*Qt* +usr/include/vtk-8.2/*Qt* +usr/include/vtk-8.2/Q* diff --git a/debian/libvtk8-qt-dev.lintian-overrides b/debian/libvtk8-qt-dev.lintian-overrides new file mode 100644 index 000000000..6c882d930 --- /dev/null +++ b/debian/libvtk8-qt-dev.lintian-overrides @@ -0,0 +1,4 @@ +libvtk8-qt-dev: shlib-without-versioned-soname +libvtk8-qt-dev: package-name-doesnt-match-sonames +libvtk8-qt-dev: hardening-no-relro + diff --git a/debian/libvtk8-qt.install b/debian/libvtk8-qt.install new file mode 100644 index 000000000..4c7a2dd85 --- /dev/null +++ b/debian/libvtk8-qt.install @@ -0,0 +1 @@ +usr/lib/*/*Qt*.so.* diff --git a/debian/libvtk8-qt.lintian-overrides b/debian/libvtk8-qt.lintian-overrides new file mode 100644 index 000000000..16ad67bf1 --- /dev/null +++ b/debian/libvtk8-qt.lintian-overrides @@ -0,0 +1,3 @@ +libvtk8-qt: hardening-no-relro +libvtk8-qt: package-name-doesnt-match-sonames + diff --git a/debian/libvtk8.install b/debian/libvtk8.install new file mode 100644 index 000000000..3de3b10a4 --- /dev/null +++ b/debian/libvtk8.install @@ -0,0 +1 @@ +usr/lib/*/*.so.* diff --git a/debian/libvtk8.lintian-overrides b/debian/libvtk8.lintian-overrides new file mode 100644 index 000000000..ce3c4246d --- /dev/null +++ b/debian/libvtk8.lintian-overrides @@ -0,0 +1,5 @@ +libvtk8: package-name-doesnt-match-sonames +libvtk8: hardening-no-relro +# Will be discussed with upstream to have an opportunity to set USE_SYSTEM_lib + +libvtk8: embedded-library diff --git a/debian/patches/100_javac-heap.patch b/debian/patches/100_javac-heap.patch new file mode 100644 index 000000000..1164c2f0d --- /dev/null +++ b/debian/patches/100_javac-heap.patch @@ -0,0 +1,16 @@ +Description: set JVM max memory to 1024m. +Author: Matthias Klose +Acked-By: Anton Gladky +Last-Update: 2016-02-12 + +--- a/Wrapping/Java/CMakeLists.txt ++++ b/Wrapping/Java/CMakeLists.txt +@@ -96,6 +96,8 @@ + set(JAVAC_OPTIONS -J-Xmx512m) + endif() + ++set(JAVAC_OPTIONS -J-Xmx1024m) ++ + get_property(java_modules GLOBAL PROPERTY VTK_JAVA_WRAPPED) + foreach(module IN LISTS java_modules) + if(NOT ${module}_EXCLUDE_FROM_WRAPPING) diff --git a/debian/patches/101_java_install_path.patch b/debian/patches/101_java_install_path.patch new file mode 100644 index 000000000..52ba960a3 --- /dev/null +++ b/debian/patches/101_java_install_path.patch @@ -0,0 +1,19 @@ +Description: Install Java modules in the correct path + This patch corrects the installation of the native Java modules + to go to the path given by the Debian Java Policy. This helps + to later use the simple install file to get them to the right + location in the package. +Author: Gert Wollny + +--- a/Rendering/OpenGL2/CMakeLists.txt ++++ b/Rendering/OpenGL2/CMakeLists.txt +@@ -311,7 +311,7 @@ + vtk_opengl_link(${vtk-module}) + if(VTK_USE_X) + vtk_module_link_libraries(${vtk-module} +- LINK_PUBLIC ${X11_LIBRARIES} ${X11_Xt_LIB}) ++ LINK_PUBLIC ${GLEW_LIBRARY} ${X11_LIBRARIES} ${X11_Xt_LIB}) + elseif(VTK_USE_COCOA) + vtk_module_link_libraries(${vtk-module} LINK_PUBLIC "-framework Cocoa") + endif() diff --git a/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch b/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch new file mode 100644 index 000000000..64dc8a0c0 --- /dev/null +++ b/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch @@ -0,0 +1,146 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -118,9 +118,7 @@ + + # The doxygen documentation needs to be aware of all modules. + option(BUILD_DOCUMENTATION "Build the VTK documentation" OFF) +-if(BUILD_DOCUMENTATION) +- add_subdirectory(Utilities/Doxygen) +-endif() ++add_subdirectory(Utilities/Doxygen) + + # If python wrapping and testing is enabled then add driver scripts to run + # tests. Note: Many pythong tests used to be automatically converted from TCL +--- a/Utilities/Doxygen/CMakeLists.txt ++++ b/Utilities/Doxygen/CMakeLists.txt +@@ -1,69 +1,72 @@ + # + # Build the documentation + # +-find_package(Doxygen REQUIRED) +-find_package(Perl REQUIRED) +-find_package(HTMLHelp) +- +-option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF) +-option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF) +-option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON) +-mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP) +-if(DOXYGEN_SHORT_NAMES) +- set(DOXYGEN_SHORT_NAMES YES) +-else() +- set(DOXYGEN_SHORT_NAMES NO) +-endif() +-if(DOXYGEN_GENERATE_HTMLHELP) +- set(DOXYGEN_GENERATE_HTMLHELP YES) +-else() +- set(DOXYGEN_GENERATE_HTMLHELP NO) +-endif() +- +-# +-# Configure the script and the doxyfile, then add target +-# +-set(HAVE_DOT_YESNO NO) +-if(DOT) +- set(HAVE_DOT_YESNO YES) +- if(NOT DOT_PATH) +- get_filename_component(DOT_PATH ${DOT} PATH) ++if (BUILD_DOCUMENTATION) ++ find_package(Doxygen REQUIRED) ++ find_package(Perl REQUIRED) ++ find_package(HTMLHelp) ++ ++ option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF) ++ option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF) ++ option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON) ++ mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP) ++ if(DOXYGEN_SHORT_NAMES) ++ set(DOXYGEN_SHORT_NAMES YES) ++ else() ++ set(DOXYGEN_SHORT_NAMES NO) + endif() +-endif() +- +-# Build up a list of all module source directories. Note that this should be +-# all source directories and so does not use the normal variables. +-unset(VTK_MODULE_DIRS_DOXYGEN) +-file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake") +-foreach(module ${src}) +- get_filename_component(module_BASE ${module} PATH) +- if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third") +- # Skip the utilities and third parties directories. ++ if(DOXYGEN_GENERATE_HTMLHELP) ++ set(DOXYGEN_GENERATE_HTMLHELP YES) + else() +- # Use both the source and binary directories, this ensures that +- # generated files will be included, but they may then be architecture, +- # build configuration and/or compiler specific. All source directories +- # are included whether the module is enabled or not. +- set(VTK_MODULE_DIRS_DOXYGEN +- "${VTK_MODULE_DIRS_DOXYGEN} ++ set(DOXYGEN_GENERATE_HTMLHELP NO) ++ endif() ++ ++ # ++ # Configure the script and the doxyfile, then add target ++ # ++ set(HAVE_DOT_YESNO NO) ++ if(DOT) ++ set(HAVE_DOT_YESNO YES) ++ if(NOT DOT_PATH) ++ get_filename_component(DOT_PATH ${DOT} PATH) ++ endif() ++ endif() ++ ++ # Build up a list of all module source directories. Note that this should be ++ # all source directories and so does not use the normal variables. ++ unset(VTK_MODULE_DIRS_DOXYGEN) ++ file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake") ++ foreach(module ${src}) ++ get_filename_component(module_BASE ${module} PATH) ++ if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third") ++ # Skip the utilities and third parties directories. ++ else() ++ # Use both the source and binary directories, this ensures that ++ # generated files will be included, but they may then be architecture, ++ # build configuration and/or compiler specific. All source directories ++ # are included whether the module is enabled or not. ++ set(VTK_MODULE_DIRS_DOXYGEN ++ "${VTK_MODULE_DIRS_DOXYGEN} + \"${VTK_SOURCE_DIR}/${module_BASE}\" + \"${VTK_BINARY_DIR}/${module_BASE}\"") +- endif() +-endforeach() ++ endif() ++ endforeach() ++ ++ configure_file( ++ ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in ++ ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile) ++ ++ configure_file( ++ ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in ++ ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake ++ @ONLY) ++ ++ add_custom_target(DoxygenDoc ++ ${CMAKE_COMMAND} ++ -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake ++ DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake) + +-configure_file( +- ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in +- ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile) +- +-configure_file( +- ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in +- ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake +- @ONLY) +- +-add_custom_target(DoxygenDoc +- ${CMAKE_COMMAND} +- -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake +- DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake) ++endif() + + if(NOT VTK_INSTALL_NO_DOCUMENTATION) + macro(__vtk_install_documentation_files glob) diff --git a/debian/patches/108_Doxygen-use-mathjax.patch b/debian/patches/108_Doxygen-use-mathjax.patch new file mode 100644 index 000000000..236c423c6 --- /dev/null +++ b/debian/patches/108_Doxygen-use-mathjax.patch @@ -0,0 +1,28 @@ +--- a/Utilities/Doxygen/CMakeLists.txt ++++ b/Utilities/Doxygen/CMakeLists.txt +@@ -52,6 +52,13 @@ + endif() + endforeach() + ++ FIND_PATH(MATHJAX_CODEFILE MathJax.js ++ PATHS ++ /usr/share/mathjax/ ++ /usr/share/javascript/ ++ /usr/share/javascript/mathjax/ ++ ) ++ + configure_file( + ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in + ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile) +--- a/Utilities/Doxygen/doxyfile.in ++++ b/Utilities/Doxygen/doxyfile.in +@@ -19,6 +19,9 @@ + GENERATE_TAGFILE = "@VTK_BINARY_DIR@/Utilities/Doxygen/vtk@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@.tag" + + PDF_HYPERLINKS = YES ++USE_MATHJAX = YES ++MATHJAX_RELPATH = @MATHJAX_CODEFILE@ ++ + + HAVE_DOT = @HAVE_DOT_YESNO@ + DOT_PATH = "@DOT_PATH@" diff --git a/debian/patches/110_do_not_link_against_socket.patch b/debian/patches/110_do_not_link_against_socket.patch new file mode 100644 index 000000000..575840f37 --- /dev/null +++ b/debian/patches/110_do_not_link_against_socket.patch @@ -0,0 +1,14 @@ +Description: Do not try linking with -lsocket + +--- a/Common/System/vtkTestSocketFeatures.cmake ++++ b/Common/System/vtkTestSocketFeatures.cmake +@@ -6,9 +6,6 @@ + + if(NOT DEFINED VTK_HAVE_GETSOCKNAME_WITH_SOCKLEN_T) + set(VTK_GETSOCKNAME_LIBS) +- if(VTK_HAVE_LIBSOCKET) +- list(APPEND VTK_GETSOCKNAME_LIBS "socket") +- endif() + message(STATUS "Checking for getsockname with socklen_t") + try_compile(VTK_HAVE_GETSOCKNAME_WITH_SOCKLEN_T_COMPILED + ${VTK_BINARY_DIR}/CMakeTmp/SocklenT diff --git a/debian/patches/20_soversion-sharedlib.patch b/debian/patches/20_soversion-sharedlib.patch new file mode 100644 index 000000000..3dbf1624c --- /dev/null +++ b/debian/patches/20_soversion-sharedlib.patch @@ -0,0 +1,24 @@ +--- a/CMake/vtkModuleMacros.cmake ++++ b/CMake/vtkModuleMacros.cmake +@@ -439,8 +439,8 @@ + function(vtk_target_name _name) + get_property(_type TARGET ${_name} PROPERTY TYPE) + if(NOT "${_type}" STREQUAL EXECUTABLE AND NOT VTK_JAVA_INSTALL) +- set_property(TARGET ${_name} PROPERTY VERSION 1) +- set_property(TARGET ${_name} PROPERTY SOVERSION 1) ++ set_property(TARGET ${_name} PROPERTY VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}) ++ set_property(TARGET ${_name} PROPERTY SOVERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}) + endif() + if("${_name}" MATCHES "^[Vv][Tt][Kk]") + set(_vtk "") +--- a/Rendering/Tk/CMakeLists.txt ++++ b/Rendering/Tk/CMakeLists.txt +@@ -82,7 +82,7 @@ + vtk_target_install(vtkRenderingPythonTkWidgets) + + set_property(TARGET vtkRenderingPythonTkWidgets PROPERTY OUTPUT_NAME +- vtkRenderingPythonTkWidgets-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}) ++ vtkRenderingPythonTkWidgets) + + set(Module_PYTHON_LIBS ${VTK_TK_LIBRARIES}) + if(VTK_USE_X) diff --git a/debian/patches/30_matplotlib.patch b/debian/patches/30_matplotlib.patch new file mode 100644 index 000000000..6888f1c73 --- /dev/null +++ b/debian/patches/30_matplotlib.patch @@ -0,0 +1,13 @@ +--- a/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h ++++ b/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h +@@ -156,6 +156,10 @@ + * to implement IsAvailable. + */ + static Availability CheckMPLAvailability(); ++ static void DisableMPL() ++ { ++ MPLMathTextAvailable = UNAVAILABLE; ++ }; + + //@{ + /** diff --git a/debian/patches/50_use_system_utf8.patch b/debian/patches/50_use_system_utf8.patch new file mode 100644 index 000000000..addfc00e0 --- /dev/null +++ b/debian/patches/50_use_system_utf8.patch @@ -0,0 +1,270 @@ +Description: + TODO: Put a short summary on the line above and replace this paragraph + with a longer explanation of this change. Complete the meta-information + with other relevant fields (see below for details). To make it easier, the + information below has been extracted from the changelog. Adjust it or drop + it. + . + vtk6 (6.2.0-1) unstable; urgency=medium + . + [ James Cowgill ] + * [0b9b309] Fix FTBFS due to new freetype. (Closes: #779802) +Author: Anton Gladky +Bug-Debian: https://bugs.debian.org/779802 + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: https://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +--- a/Common/Core/module.cmake ++++ b/Common/Core/module.cmake +@@ -14,5 +14,4 @@ vtk_module(vtkCommonCore + vtkkwiml + PRIVATE_DEPENDS + vtksys +- vtkutf8 + ) +diff --git a/Common/Core/vtkUnicodeString.cxx b/Common/Core/vtkUnicodeString.cxx +index 8e50363d..d7681605 100644 +--- a/Common/Core/vtkUnicodeString.cxx ++++ b/Common/Core/vtkUnicodeString.cxx +@@ -22,7 +22,7 @@ + #include "vtkUnicodeString.h" + + #include "vtkObject.h" +-#include ++#include + + #include + #include +@@ -39,7 +39,7 @@ vtkUnicodeString::const_iterator::const_iterator(std::string::const_iterator pos + + vtkUnicodeString::value_type vtkUnicodeString::const_iterator::operator*() const + { +- return vtk_utf8::unchecked::peek_next(this->Position); ++ return utf8::unchecked::peek_next(this->Position); + } + + bool vtkUnicodeString::const_iterator::operator==(const const_iterator& rhs) const +@@ -54,27 +54,27 @@ bool vtkUnicodeString::const_iterator::operator!=(const const_iterator& rhs) con + + vtkUnicodeString::const_iterator& vtkUnicodeString::const_iterator::operator++() + { +- vtk_utf8::unchecked::next(this->Position); ++ utf8::unchecked::next(this->Position); + return *this; + } + + vtkUnicodeString::const_iterator vtkUnicodeString::const_iterator::operator++(int) + { + const_iterator result(this->Position); +- vtk_utf8::unchecked::next(this->Position); ++ utf8::unchecked::next(this->Position); + return result; + } + + vtkUnicodeString::const_iterator& vtkUnicodeString::const_iterator::operator--() + { +- vtk_utf8::unchecked::prior(this->Position); ++ utf8::unchecked::prior(this->Position); + return *this; + } + + vtkUnicodeString::const_iterator vtkUnicodeString::const_iterator::operator--(int) + { + const_iterator result(this->Position); +- vtk_utf8::unchecked::prior(this->Position); ++ utf8::unchecked::prior(this->Position); + return result; + } + +@@ -130,7 +130,7 @@ vtkUnicodeString::vtkUnicodeString(const vtkUnicodeString& rhs) : + vtkUnicodeString::vtkUnicodeString(size_type count, value_type character) + { + for(size_type i = 0; i != count; ++i) +- vtk_utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage)); ++ utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage)); + } + + vtkUnicodeString::vtkUnicodeString(const_iterator first, const_iterator last) : +@@ -145,7 +145,7 @@ bool vtkUnicodeString::is_utf8(const char* value) + + bool vtkUnicodeString::is_utf8(const std::string& value) + { +- return vtk_utf8::is_valid(value.begin(), value.end()); ++ return utf8::is_valid(value.begin(), value.end()); + } + + vtkUnicodeString vtkUnicodeString::from_utf8(const char* value) +@@ -156,7 +156,7 @@ vtkUnicodeString vtkUnicodeString::from_utf8(const char* value) + vtkUnicodeString vtkUnicodeString::from_utf8(const char* begin, const char* end) + { + vtkUnicodeString result; +- if(vtk_utf8::is_valid(begin, end)) ++ if(utf8::is_valid(begin, end)) + { + result.Storage = std::string(begin, end); + } +@@ -170,7 +170,7 @@ vtkUnicodeString vtkUnicodeString::from_utf8(const char* begin, const char* end) + vtkUnicodeString vtkUnicodeString::from_utf8(const std::string& value) + { + vtkUnicodeString result; +- if(vtk_utf8::is_valid(value.begin(), value.end())) ++ if(utf8::is_valid(value.begin(), value.end())) + { + result.Storage = value; + } +@@ -193,9 +193,9 @@ vtkUnicodeString vtkUnicodeString::from_utf16(const vtkTypeUInt16* value) + + try + { +- vtk_utf8::utf16to8(value, value + length, vtkUnicodeString::back_insert_iterator(result.Storage)); ++ utf8::utf16to8(value, value + length, vtkUnicodeString::back_insert_iterator(result.Storage)); + } +- catch(vtk_utf8::invalid_utf16&) ++ catch(utf8::invalid_utf16&) + { + vtkGenericWarningMacro(<< "vtkUnicodeString::from_utf16(): not a valid UTF-16 string."); + } +@@ -229,15 +229,15 @@ vtkUnicodeString::value_type vtkUnicodeString::at(size_type offset) const + throw std::out_of_range("character out-of-range"); + + std::string::const_iterator iterator = this->Storage.begin(); +- vtk_utf8::unchecked::advance(iterator, offset); +- return vtk_utf8::unchecked::peek_next(iterator); ++ utf8::unchecked::advance(iterator, offset); ++ return utf8::unchecked::peek_next(iterator); + } + + vtkUnicodeString::value_type vtkUnicodeString::operator[](size_type offset) const + { + std::string::const_iterator iterator = this->Storage.begin(); +- vtk_utf8::unchecked::advance(iterator, offset); +- return vtk_utf8::unchecked::peek_next(iterator); ++ utf8::unchecked::advance(iterator, offset); ++ return utf8::unchecked::peek_next(iterator); + } + + const char* vtkUnicodeString::utf8_str() const +@@ -253,14 +253,14 @@ void vtkUnicodeString::utf8_str(std::string& result) const + std::vector vtkUnicodeString::utf16_str() const + { + std::vector result; +- vtk_utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result)); ++ utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result)); + return result; + } + + void vtkUnicodeString::utf16_str(std::vector& result) const + { + result.clear(); +- vtk_utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result)); ++ utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result)); + } + + vtkUnicodeString::size_type vtkUnicodeString::byte_count() const +@@ -270,7 +270,7 @@ vtkUnicodeString::size_type vtkUnicodeString::byte_count() const + + vtkUnicodeString::size_type vtkUnicodeString::character_count() const + { +- return vtk_utf8::unchecked::distance(this->Storage.begin(), this->Storage.end()); ++ return utf8::unchecked::distance(this->Storage.begin(), this->Storage.end()); + } + + bool vtkUnicodeString::empty() const +@@ -296,9 +296,9 @@ void vtkUnicodeString::push_back(value_type character) + { + try + { +- vtk_utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage)); ++ utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage)); + } +- catch(vtk_utf8::invalid_code_point&) ++ catch(utf8::invalid_code_point&) + { + vtkGenericWarningMacro("vtkUnicodeString::push_back(): " << character << "is not a valid Unicode code point"); + } +@@ -315,7 +315,7 @@ void vtkUnicodeString::append(size_type count, value_type character) + { + this->Storage.append(vtkUnicodeString(count, character).Storage); + } +- catch(vtk_utf8::invalid_code_point&) ++ catch(utf8::invalid_code_point&) + { + vtkGenericWarningMacro("vtkUnicodeString::append(): " << character << "is not a valid Unicode code point"); + } +@@ -341,7 +341,7 @@ void vtkUnicodeString::assign(size_type count, value_type character) + { + this->Storage.assign(vtkUnicodeString(count, character).Storage); + } +- catch(vtk_utf8::invalid_code_point&) ++ catch(utf8::invalid_code_point&) + { + vtkGenericWarningMacro("vtkUnicodeString::assign(): " << character << "is not a valid Unicode code point"); + } +@@ -411,11 +411,11 @@ vtkUnicodeString vtkUnicodeString::substr(size_type offset, size_type count) con + std::string::const_iterator last = this->Storage.end(); + + while(from != last && offset--) +- vtk_utf8::unchecked::advance(from, 1); ++ utf8::unchecked::advance(from, 1); + + std::string::const_iterator to = from; + while(to != last && count--) +- vtk_utf8::unchecked::advance(to, 1); ++ utf8::unchecked::advance(to, 1); + + return vtkUnicodeString(from, to); + } +diff --git a/IO/Core/module.cmake b/IO/Core/module.cmake +index 24b54af0..d4907066 100644 +--- a/IO/Core/module.cmake ++++ b/IO/Core/module.cmake +@@ -14,7 +14,6 @@ vtk_module(vtkIOCore + vtklz4 + vtklzma + vtksys +- vtkutf8 + vtkzlib + vtkdoubleconversion + ) +diff --git a/IO/Core/vtkUTF8TextCodec.cxx b/IO/Core/vtkUTF8TextCodec.cxx +index c7f7985c..b0eeb9de 100644 +--- a/IO/Core/vtkUTF8TextCodec.cxx ++++ b/IO/Core/vtkUTF8TextCodec.cxx +@@ -23,7 +23,7 @@ PURPOSE. See the above copyright notice for more information. + #include "vtkObjectFactory.h" + #include "vtkTextCodecFactory.h" + +-#include ++#include + + vtkStandardNewMacro(vtkUTF8TextCodec); + +@@ -124,7 +124,7 @@ vtkUnicodeString::value_type vtkUTF8TextCodec::NextUnicode(istream& InputStream) + throw(std::string("End of Input")); + } + +- getSize = vtk_utf8::internal::sequence_length(c); ++ getSize = utf8::internal::sequence_length(c); + + if (0 == getSize) + throw(std::string("Not enough space")); +@@ -138,7 +138,7 @@ vtkUnicodeString::value_type vtkUTF8TextCodec::NextUnicode(istream& InputStream) + + istream::char_type* c1 = c; + +- const vtkTypeUInt32 code_point = vtk_utf8::next(c1, &c[getSize]); ++ const vtkTypeUInt32 code_point = utf8::next(c1, &c[getSize]); + + return code_point; + } diff --git a/debian/patches/60_remove_mpi4py_dependency.patch b/debian/patches/60_remove_mpi4py_dependency.patch new file mode 100644 index 000000000..91ceda2a0 --- /dev/null +++ b/debian/patches/60_remove_mpi4py_dependency.patch @@ -0,0 +1,16 @@ +Description: remove internal vtkmpi4py dependency +Author: Nico Schlömer +Last-Update: 2019-06-02 + +diff --git a/Parallel/MPI4Py/module.cmake b/Parallel/MPI4Py/module.cmake +index 07d789b2..26615b48 100644 +--- a/Parallel/MPI4Py/module.cmake ++++ b/Parallel/MPI4Py/module.cmake +@@ -5,7 +5,6 @@ if (VTK_WRAP_PYTHON) + DEPENDS + vtkParallelMPI + COMPILE_DEPENDS +- vtkmpi4py + vtkPython + OPTIONAL_PYTHON_LINK + EXCLUDE_FROM_JAVA_WRAPPING diff --git a/debian/patches/70_fix_ftbfs_gcc49.patch b/debian/patches/70_fix_ftbfs_gcc49.patch new file mode 100644 index 000000000..37c54febe --- /dev/null +++ b/debian/patches/70_fix_ftbfs_gcc49.patch @@ -0,0 +1,106 @@ +Description: fix compilation with gcc-4.9 +Author: Anton Gladky +Bug-Debian: http://bugs.debian.org/746923 +Forwarded: https://github.com/Kitware/VTK/pull/7 +Last-Update: 2014-05-30 + +--- a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx ++++ b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx +@@ -1206,7 +1206,10 @@ + vtkIdType cellsPerNode = numTotalCells / nprocs; + + vtkIdList **sendCells = new vtkIdList * [ nprocs ]; +- memset(sendCells, 0, sizeof(vtkIdList *) * nprocs); ++ ++ if (sizeof(vtkIdList *) * nprocs > 0) { ++ memset(sendCells, 0, sizeof(vtkIdList *) * nprocs); ++ } + + if (numConsumers == nprocs - 1) + { +@@ -1700,7 +1703,9 @@ + // Exchange int arrays + + float **recvArrays = new float * [nprocs]; +- memset(recvArrays, 0, sizeof(float *) * nprocs); ++ if (sizeof(float *) * nprocs > 0) { ++ memset(recvArrays, 0, sizeof(float *) * nprocs); ++ } + + if (sendSize[me] > 0) // sent myself an array + { +@@ -1822,7 +1827,9 @@ + // Exchange int arrays + + vtkIdType **recvArrays = new vtkIdType * [nprocs]; +- memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs); ++ if (sizeof(vtkIdType *) * nprocs > 0) { ++ memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs); ++ } + + if (sendSize[me] > 0) // sent myself an array + { +@@ -3167,7 +3174,9 @@ + vtkIdType nGridPoints = grid->GetNumberOfPoints(); + + vtkIdType *numPointsOutside = new vtkIdType [nprocs]; +- memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs); ++ if (sizeof(vtkIdType) * nprocs > 0) { ++ memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs); ++ } + + vtkIdTypeArray *globalIds = vtkIdTypeArray::New(); + globalIds->SetNumberOfValues(nGridPoints); +@@ -3249,10 +3258,16 @@ + // global ID back? + + vtkFloatArray **ptarrayOut = new vtkFloatArray * [nprocs]; +- memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs); ++ ++ if (sizeof(vtkFloatArray *) * nprocs > 0) { ++ memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs); ++ } + + vtkIdTypeArray **localIds = new vtkIdTypeArray * [nprocs]; +- memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs); ++ ++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) { ++ memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs); ++ } + + vtkIdType *next = new vtkIdType [nprocs]; + vtkIdType *next3 = new vtkIdType [nprocs]; +@@ -3430,7 +3445,9 @@ + { + // There are no cells in my assigned region + +- memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs); ++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) { ++ memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs); ++ } + + return gids; + } +@@ -3641,7 +3658,10 @@ + std::multimap::iterator mapIt; + + vtkIdTypeArray **processList = new vtkIdTypeArray * [nprocs]; +- memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs); ++ ++ if (sizeof (vtkIdTypeArray *) * nprocs > 0) { ++ memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs); ++ } + + for (int i=0; iGetNumberOfPoints(); + + vtkIdTypeArray **ghostPtIds = new vtkIdTypeArray * [nprocs]; +- memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs); ++ if (sizeof(vtkIdTypeArray *) * nprocs) { ++ memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs); ++ } + + if (numPoints < 1) + { diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 000000000..f346ea3c7 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,11 @@ +20_soversion-sharedlib.patch +30_matplotlib.patch +50_use_system_utf8.patch +60_remove_mpi4py_dependency.patch +70_fix_ftbfs_gcc49.patch +100_javac-heap.patch +101_java_install_path.patch +105_unforce_embedded_glew.patch +106_install_doxygen_scripts_in_nodoc_build.patch +108_Doxygen-use-mathjax.patch +110_do_not_link_against_socket.patch diff --git a/debian/python3-vtk8.install b/debian/python3-vtk8.install new file mode 100644 index 000000000..2f0cca12a --- /dev/null +++ b/debian/python3-vtk8.install @@ -0,0 +1 @@ +usr/lib/*/python3*/site-packages/* /usr/lib/python3/dist-packages/ diff --git a/debian/python3-vtk8.lintian-overrides b/debian/python3-vtk8.lintian-overrides new file mode 100644 index 000000000..f7f17ea85 --- /dev/null +++ b/debian/python3-vtk8.lintian-overrides @@ -0,0 +1,4 @@ +# Upstream does not provide manpages +python3-vtk8: binary-without-manpage +python3-vtk8: binary-or-shlib-defines-rpath +python3-vtk8: hardening-no-relro diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..bda311711 --- /dev/null +++ b/debian/rules @@ -0,0 +1,119 @@ +#!/usr/bin/make -f +BUILDDIR = $(CURDIR)/debian/build + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +# deduce documentation option (build-indep target) +ifeq "" "$(filter %-doc,$(shell dh_listpackages))" + BUILDDOC = OFF +else + BUILDDOC = ON +endif + +# export JAVA_HOME to help FindJava.cmake and FindJNI.cmake +export JAVA_HOME=/usr/lib/jvm/default-java + +%: + dh $@ --buildsystem=cmake --builddirectory=$(BUILDDIR) --with python3 --with javahelper + +extra_flags += \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpic++ \ + -DBUILD_DOCUMENTATION=$(BUILDDOC) \ + -DBUILD_EXAMPLES=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DVTK_USE_TK=ON \ + \ + -DVTK_WRAP_JAVA=ON \ + -DVTK_WRAP_PYTHON=ON \ + -DVTK_PYTHON_VERSION:STRING=3 \ + \ + -DVTK_USE_SYSTEM_DOUBLECONVERSION=ON \ + -DVTK_USE_SYSTEM_EIGEN=ON \ + -DVTK_USE_SYSTEM_EXPAT=ON \ + -DVTK_USE_SYSTEM_FREETYPE=ON \ + -DVTK_USE_SYSTEM_GL2PS=ON \ + -DVTK_USE_SYSTEM_GLEW=ON \ + -DVTK_USE_SYSTEM_HDF5=ON \ + -DHDF5_PREFER_PARALLEL=ON \ + -DVTK_USE_SYSTEM_JPEG=ON \ + -DVTK_USE_SYSTEM_JSONCPP=ON \ + -DVTK_USE_SYSTEM_LIBPROJ=ON \ + -DVTK_USE_SYSTEM_LIBXML2=ON \ + -DVTK_USE_SYSTEM_LZ4=ON \ + -DVTK_USE_SYSTEM_LZMA=ON \ + -DVTK_USE_SYSTEM_MPI4PY=ON \ + -DVTK_USE_SYSTEM_NETCDF=ON \ + -DVTK_USE_SYSTEM_PNG=ON \ + -DVTK_USE_SYSTEM_SQLITE=ON \ + -DVTK_USE_SYSTEM_TIFF=ON \ + -DVTK_USE_SYSTEM_XDMF3=ON \ + -DVTK_USE_SYSTEM_ZLIB=ON \ + \ + -DVTK_EXTRA_COMPILER_WARNINGS=ON \ + -DVTK_Group_Imaging=ON \ + -DVTK_Group_MPI=ON \ + -DVTK_Group_Tk=ON \ + -DVTK_Group_Views=ON \ + -DMPI_CXX_INCLUDE_PATH="/usr/include/mpi" \ + -DVTK_INSTALL_LIBRARY_DIR="/usr/lib/$(DEB_HOST_MULTIARCH)" \ + -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed" \ + -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed" \ + -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" \ + -DModule_vtkRenderingExternal=ON \ + -DModule_vtkAcceleratorsVTKm=OFF + +extra_flags += -DVTK_QT_VERSION=5 -DVTK_Group_Qt=ON + +override_dh_auto_configure: +ifneq (,$(filter $(DEB_HOST_ARCH),$(noqt_archs))) + echo '' > $(CURDIR)/Views/Qt/module.cmake + echo '' > $(CURDIR)/GUISupport/QtWebkit/module.cmake + echo '' > $(CURDIR)/Rendering/Qt/module.cmake + echo '' > $(CURDIR)/GUISupport/QtOpenGL/module.cmake + echo '' > $(CURDIR)/Examples/GUI/Qt/SimpleView/CMakeLists.txt +endif + dh_auto_configure -- $(extra_flags) + +override_dh_auto_clean: + dh_auto_clean + rm -rf $(BUILDDIR) + +override_dh_auto_build-indep: + # Make doc (see http://www.vtk.org/Wiki/VTK/BuildingDoxygen) + cd $(BUILDDIR) && make DoxygenDoc + # remove .md5 files + find $(BUILDDIR)/Utilities/Doxygen/doc/html/ -name "*.md5" | xargs rm -f + +override_dh_auto_build-arch: + dh_auto_build + +override_dh_auto_install: + pwd + dh_auto_install -X.pyc -X.pyo + # Modify vtkWrapJava.cmake to properly upload JavaDependencies.cmake.in from $VTK_DIR + perl -pi -e "s|{dir}/JavaDependencies.cmake.in\"|{VTK_DIR}/JavaDependencies.cmake.in\"|" debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/vtk-8.2/vtkWrapJava.cmake + # Correct headers for paraview + mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/vtk.jar $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/vtk8.jar + mv $(CURDIR)/debian/build/bin/vtkpython $(CURDIR)/debian/build/bin/vtk8python + sed -i -e "s/FATAL_ERROR/STATUS/g" $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/vtk-8.2/VTKTargets.cmake + chrpath -d $(CURDIR)/debian/build/bin/vtk8python + # chrpath -d $(CURDIR)/debian/build/bin/pvtk + chrpath -d $(CURDIR)/debian/build/bin/pvtkpython + # mv $(CURDIR)/debian/tmp/usr/bin/vtk $(CURDIR)/debian/tmp/usr/bin/vtk8 + find $(CURDIR)/debian/tmp/ -name "*.pyc" | xargs rm -f + find $(CURDIR)/debian/tmp/ -name "*.pyo" | xargs rm -f + +override_dh_install-arch: + dh_install -a + find $(CURDIR)/debian/libvtk8-dev/ -name "*Qt*" -exec rm {} \; + find $(CURDIR)/debian/libvtk8/ -name "*Qt*" -exec rm {} \; + find $(CURDIR)/debian/libvtk8-dev/ -name "libvtkRenderingPythonTkWidgets.so" -exec rm {} \; + find $(CURDIR)/debian/libvtk8-dev/usr/include/ -name "Q*" -exec rm {} \; + # chmod 755 $(CURDIR)/debian/libvtk8-dev/usr/share/doc/vtk-8.2/doxygen/*.pl + # mkdir -p $(CURDIR)/debian/python3-vtk8/usr/lib/$(DEB_HOST_MULTIARCH)/python3.7/site-packages/ && \ + # cd $(CURDIR)/debian/python3-vtk8/usr/lib/$(DEB_HOST_MULTIARCH)/python3.7/site-packages/ && \ + # ln -s /usr/lib/python3/dist-packages/vtk vtk diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tcl-vtk8.install b/debian/tcl-vtk8.install new file mode 100644 index 000000000..acfa33795 --- /dev/null +++ b/debian/tcl-vtk8.install @@ -0,0 +1,3 @@ +# usr/bin/vtkWrapTcl-8.2 +# usr/bin/vtkWrapTclInit-8.2 +# usr/lib/tcltk diff --git a/debian/tcl-vtk8.lintian-overrides b/debian/tcl-vtk8.lintian-overrides new file mode 100644 index 000000000..572112c43 --- /dev/null +++ b/debian/tcl-vtk8.lintian-overrides @@ -0,0 +1,3 @@ +# Upstream does not provide manpages +tcl-vtk8: binary-without-manpage +tcl-vtk8: hardening-no-relro diff --git a/debian/tests/buildBoolean b/debian/tests/buildBoolean new file mode 100755 index 000000000..7a9ad1775 --- /dev/null +++ b/debian/tests/buildBoolean @@ -0,0 +1,176 @@ +#!/bin/sh +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export OMPI_MCA_orte_rsh_agent=/bin/false + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +mkdir src +cd src + +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6) +project(demo) +find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy) +include(\${VTK_USE_FILE}) + +add_executable(demo demo.cpp) +target_link_libraries(demo \${VTK_LIBRARIES}) +install(TARGETS demo DESTINATION bin) + +EOF + +cat < demo.cpp +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + vtkSmartPointer input1; + vtkSmartPointer input2; + + std::string operation("intersection"); + + if (argc == 4) + { + vtkSmartPointer reader1 = + vtkSmartPointer::New(); + reader1->SetFileName(argv[1]); + reader1->Update(); + input1 = reader1->GetOutput(); + + vtkSmartPointer reader2 = + vtkSmartPointer::New(); + reader2->SetFileName(argv[3]); + reader2->Update(); + input2 = reader2->GetOutput(); + + operation = argv[2]; + } + else + { + vtkSmartPointer sphereSource1 = + vtkSmartPointer::New(); + sphereSource1->SetCenter(.25, 0, 0); + sphereSource1->Update(); + input1 = sphereSource1->GetOutput(); + + vtkSmartPointer sphereSource2 = + vtkSmartPointer::New(); + sphereSource2->Update(); + input2 = sphereSource2->GetOutput(); + + if (argc == 2) + { + operation = argv[1]; + } + } + + vtkSmartPointer input1Mapper = + vtkSmartPointer::New(); +#if VTK_MAJOR_VERSION <= 5 + input1Mapper->SetInputConnection( input1->GetProducerPort() ); +#else + input1Mapper->SetInputData( input1 ); +#endif + input1Mapper->ScalarVisibilityOff(); + vtkSmartPointer input1Actor = + vtkSmartPointer::New(); + input1Actor->SetMapper( input1Mapper ); + input1Actor->GetProperty()->SetColor(1,0,0); + input1Actor->SetPosition( + input1->GetBounds()[1]-input1->GetBounds()[0], + 0, 0); + vtkSmartPointer input2Mapper = + vtkSmartPointer::New(); +#if VTK_MAJOR_VERSION <= 5 + input2Mapper->SetInputConnection( input2->GetProducerPort() ); +#else + input2Mapper->SetInputData( input2 ); +#endif + input2Mapper->ScalarVisibilityOff(); + vtkSmartPointer input2Actor = + vtkSmartPointer::New(); + input2Actor->SetMapper( input2Mapper ); + input2Actor->GetProperty()->SetColor(0,1,0); + input2Actor->SetPosition( + -(input2->GetBounds()[1]-input2->GetBounds()[0]), + 0, 0); + vtkSmartPointer booleanOperation = + vtkSmartPointer::New(); + if (operation == "union") + { + booleanOperation->SetOperationToUnion(); + } + else if (operation == "intersection") + { + booleanOperation->SetOperationToIntersection(); + } + else if (operation == "difference") + { + booleanOperation->SetOperationToDifference(); + } + else + { + std::cout << "Unknown operation: " << operation << std::endl; + return EXIT_FAILURE; + } +#if VTK_MAJOR_VERSION <= 5 + booleanOperation->SetInputConnection( 0, input1->GetProducerPort() ); + booleanOperation->SetInputConnection( 1, input2->GetProducerPort() ); +#else + booleanOperation->SetInputData( 0, input1 ); + booleanOperation->SetInputData( 1, input2 ); +#endif + vtkSmartPointer booleanOperationMapper = + vtkSmartPointer::New(); + booleanOperationMapper->SetInputConnection( booleanOperation->GetOutputPort() ); + booleanOperationMapper->ScalarVisibilityOff(); + + vtkSmartPointer booleanOperationActor = + vtkSmartPointer::New(); + booleanOperationActor->SetMapper( booleanOperationMapper ); + + vtkSmartPointer renderer = + vtkSmartPointer::New(); + renderer->AddViewProp(input1Actor); + renderer->AddViewProp(input2Actor); + renderer->AddViewProp(booleanOperationActor); + renderer->SetBackground(.1, .2, .3); + vtkSmartPointer renderWindow = + vtkSmartPointer::New(); + renderWindow->AddRenderer( renderer ); + + vtkSmartPointer renWinInteractor = + vtkSmartPointer::New(); + renWinInteractor->SetRenderWindow( renderWindow ); + + return EXIT_SUCCESS; +} + +EOF + +cd .. +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src +make +make install +echo "build: OK" +[ -x demo ] +./demo +echo "run: OK" diff --git a/debian/tests/buildDistance b/debian/tests/buildDistance new file mode 100755 index 000000000..daba45398 --- /dev/null +++ b/debian/tests/buildDistance @@ -0,0 +1,59 @@ +#!/bin/sh +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export OMPI_MCA_orte_rsh_agent=/bin/false + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +mkdir src +cd src + +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6) +project(demo) +find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy) +include(\${VTK_USE_FILE}) + +add_executable(demo demo.cpp) +target_link_libraries(demo \${VTK_LIBRARIES}) +install(TARGETS demo DESTINATION bin) +EOF + +cat < demo.cpp +#include + +int main(int, char *[]) +{ + // Create two points. + double p0[3] = {0.0, 0.0, 0.0}; + double p1[3] = {1.0, 1.0, 1.0}; + + // Find the squared distance between the points. + double squaredDistance = vtkMath::Distance2BetweenPoints(p0, p1); + + // Take the square root to get the Euclidean distance between the points. + double distance = sqrt(squaredDistance); + + // Output the results. + std::cout << "SquaredDistance = " << squaredDistance << std::endl; + std::cout << "Distance = " << distance << std::endl; + + return EXIT_SUCCESS; +} + +EOF + +cd .. +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src +make +make install +echo "build: OK" +[ -x demo ] +./demo +echo "run: OK" diff --git a/debian/tests/buildGenericClip b/debian/tests/buildGenericClip new file mode 100755 index 000000000..50f7ea68c --- /dev/null +++ b/debian/tests/buildGenericClip @@ -0,0 +1,156 @@ +#!/bin/sh +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export OMPI_MCA_orte_rsh_agent=/bin/false + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +mkdir src +cd src + +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6) +project(demo) +find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy) +include(\${VTK_USE_FILE}) + +add_executable(demo demo.cpp) +target_link_libraries(demo \${VTK_LIBRARIES}) +install(TARGETS demo DESTINATION bin) + +EOF + +cat < demo.cpp +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int main(int, char**) +{ + + vtkSmartPointer sphereSource = + vtkSmartPointer::New(); + sphereSource->SetRadius(5); + sphereSource->SetThetaResolution(10); + sphereSource->SetPhiResolution(10); + sphereSource->Update(); + + // Add ids to the points and cells of the sphere + vtkSmartPointer idFilter = + vtkSmartPointer::New(); + idFilter->SetInputConnection(sphereSource->GetOutputPort()); + idFilter->Update(); + + // Create a plane to clip with + vtkSmartPointer plane = vtkSmartPointer::New(); + plane->SetOrigin(0, 0, 0); + plane->SetNormal(1, 1, 1); + + // Convert the DataSet to a GenericDataSet + vtkSmartPointer bridgeDataSet = vtkSmartPointer::New(); + bridgeDataSet->SetDataSet(idFilter->GetOutput()); + + vtkSmartPointer clipper = + vtkSmartPointer::New(); + clipper->SetClipFunction(plane); + clipper->SetInputData(bridgeDataSet); + clipper->Update(); + + // Get the clipped cell ids + vtkUnstructuredGrid* clipped = clipper->GetOutput(); + vtkIdTypeArray* originalIds = vtkIdTypeArray::SafeDownCast(clipped->GetCellData()->GetArray("vtkIdFilter_Ids")); + for(vtkIdType i = 0; i < originalIds->GetNumberOfTuples(); i++) + { + std::cout << "new id " << i << ", original id " << originalIds->GetValue(i) << std::endl; + } + + // Create a mapper and actor for clipped points + vtkSmartPointer mapper = + vtkSmartPointer::New(); + mapper->SetInputConnection(clipper->GetOutputPort()); + vtkSmartPointer actor = + vtkSmartPointer::New(); + actor->SetMapper(mapper); + + // Create a mapper and actor for clipping function + vtkSmartPointer sample = + vtkSmartPointer::New(); + sample->SetSampleDimensions(20,20,20); + sample->SetImplicitFunction(plane); + double value = 10.0; + double xmin = -value, xmax = value, ymin = -value, ymax = value, zmin = -value, zmax = value; + sample->SetModelBounds(xmin, xmax, ymin, ymax, zmin, zmax); + + // Create the 0 isosurface + vtkSmartPointer contours = + vtkSmartPointer::New(); + contours->SetInputConnection(sample->GetOutputPort()); + contours->GenerateValues(1, 1, 1); + + // Map the contours to graphical primitives + vtkSmartPointer contourMapper = + vtkSmartPointer::New(); + contourMapper->SetInputConnection(contours->GetOutputPort()); + contourMapper->SetScalarRange(0.0, 1.2); + + // Create an actor for the sphere + vtkSmartPointer sphereActor = + vtkSmartPointer::New(); + sphereActor->SetMapper(contourMapper); + + // Create a renderer, render window, and interactor + vtkSmartPointer renderer = + vtkSmartPointer::New(); + vtkSmartPointer renderWindow = + vtkSmartPointer::New(); + renderWindow->AddRenderer(renderer); + vtkSmartPointer renderWindowInteractor = + vtkSmartPointer::New(); + renderWindowInteractor->SetRenderWindow(renderWindow); + + // Add the actor to the scene + renderer->AddActor(actor); + renderer->AddActor(sphereActor); + renderer->SetBackground(1,1,1); // Background color white + + // Render and interact + // renderWindow->Render(); + // renderWindowInteractor->Start(); + + return 0; +} +EOF + +cd .. +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src +make +make install +echo "build: OK" +[ -x demo ] +./demo +echo "run: OK" diff --git a/debian/tests/buildPNG b/debian/tests/buildPNG new file mode 100755 index 000000000..5f028c300 --- /dev/null +++ b/debian/tests/buildPNG @@ -0,0 +1,84 @@ +#!/bin/sh +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export OMPI_MCA_orte_rsh_agent=/bin/false + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +mkdir src +cd src + +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6) +project(demo) +find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy vtkImagingGeneral) +include(\${VTK_USE_FILE}) + +add_executable(demo demo.cpp) +target_link_libraries(demo \${VTK_LIBRARIES}) +install(TARGETS demo DESTINATION bin) +EOF + +cat < demo.cpp +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + std::string outputFilename; + if( argc > 1) + { + outputFilename = argv[1]; + } + else + { + outputFilename = "output.png"; + } + + int extent[6] = {0, 99, 0, 99, 0, 0}; + vtkSmartPointer imageSource = + vtkSmartPointer::New(); + imageSource->SetExtent(extent); + imageSource->SetScalarTypeToUnsignedChar(); + imageSource->SetNumberOfScalarComponents(3); + imageSource->SetDrawColor(127, 45, 255); + imageSource->FillBox(0, 99, 0, 99); + imageSource->SetDrawColor(255,255,255); + imageSource->FillBox(40, 70, 20, 50); + imageSource->Update(); + + vtkSmartPointer castFilter = + vtkSmartPointer::New(); + castFilter->SetOutputScalarTypeToUnsignedChar (); + castFilter->SetInputConnection(imageSource->GetOutputPort()); + castFilter->Update(); + + vtkSmartPointer writer = + vtkSmartPointer::New(); + writer->SetFileName(outputFilename.c_str()); + writer->SetInputConnection(castFilter->GetOutputPort()); + writer->Write(); + + return EXIT_SUCCESS; +} + + +EOF + +cd .. +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src +make +make install +echo "build: OK" +[ -x demo ] +./demo +echo "run: OK" diff --git a/debian/tests/buildPoint b/debian/tests/buildPoint new file mode 100755 index 000000000..168699468 --- /dev/null +++ b/debian/tests/buildPoint @@ -0,0 +1,59 @@ +#!/bin/sh +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export OMPI_MCA_orte_rsh_agent=/bin/false + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +mkdir src +cd src + +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6) +project(demo) +find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy) +include(\${VTK_USE_FILE}) + +add_executable(demo demo.cpp) +target_link_libraries(demo \${VTK_LIBRARIES}) +install(TARGETS demo DESTINATION bin) +EOF + +cat < demo.cpp +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + vtkSmartPointer sphereSource = + vtkSmartPointer::New(); + sphereSource->Update(); + + vtkSmartPointer writer = + vtkSmartPointer::New(); + writer->SetFileName("test.xyz"); + writer->SetInputConnection(sphereSource->GetOutputPort()); + writer->Write(); + + return EXIT_SUCCESS; +} + +EOF + +cd .. +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src +make +make install +echo "build: OK" +[ -x demo ] +./demo +cat test.xyz +echo "run: OK" diff --git a/debian/tests/buildVTP b/debian/tests/buildVTP new file mode 100755 index 000000000..3f57f5a7a --- /dev/null +++ b/debian/tests/buildVTP @@ -0,0 +1,73 @@ +#!/bin/sh +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export OMPI_MCA_orte_rsh_agent=/bin/false + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +mkdir src +cd src + +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6) +project(demo) +find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy) +include(\${VTK_USE_FILE}) + +add_executable(demo demo.cpp) +target_link_libraries(demo \${VTK_LIBRARIES}) +install(TARGETS demo DESTINATION bin) +EOF + +cat < demo.cpp +#include +#include +#include +#include +#include +#include + +int main ( int, char *[] ) +{ + vtkSmartPointer points = + vtkSmartPointer::New(); + + for ( unsigned int i = 0; i < 10; ++i ) + { + points->InsertNextPoint ( i, i, i ); + } + + vtkSmartPointer polydata = + vtkSmartPointer::New(); + polydata->SetPoints(points); + + vtkSmartPointer writer = + vtkSmartPointer::New(); + writer->SetFileName("test.vtp"); +#if VTK_MAJOR_VERSION <= 5 + writer->SetInput(polydata); +#else + writer->SetInputData(polydata); +#endif + writer->Write(); + + return EXIT_SUCCESS; +} + +EOF + +cd .. +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src +make +make install +echo "build: OK" +[ -x demo ] +./demo +cat test.vtp +echo "run: OK" diff --git a/debian/tests/buildVTU b/debian/tests/buildVTU new file mode 100755 index 000000000..3bb86ad6c --- /dev/null +++ b/debian/tests/buildVTU @@ -0,0 +1,129 @@ +#!/bin/sh +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export OMPI_MCA_orte_rsh_agent=/bin/false + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +mkdir src +cd src + +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6) +project(demo) +find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy) +include(\${VTK_USE_FILE}) + +add_executable(demo demo.cpp) +target_link_libraries(demo \${VTK_LIBRARIES}) +install(TARGETS demo DESTINATION bin) +EOF + +cat < demo.cpp +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + if(argc != 2) + { + std::cout << "Required arguments: OutputFilename" << std::endl; + return EXIT_FAILURE; + } + + std::string filename = argv[1]; + + vtkSmartPointer points = + vtkSmartPointer::New(); + points->InsertNextPoint(0, 0, 0); + points->InsertNextPoint(1, 0, 0); + points->InsertNextPoint(1, 1, 0); + points->InsertNextPoint(0, 1, 1); + + vtkSmartPointer tetra = + vtkSmartPointer::New(); + + tetra->GetPointIds()->SetId(0, 0); + tetra->GetPointIds()->SetId(1, 1); + tetra->GetPointIds()->SetId(2, 2); + tetra->GetPointIds()->SetId(3, 3); + + vtkSmartPointer cellArray = + vtkSmartPointer::New(); + cellArray->InsertNextCell(tetra); + + + vtkSmartPointer unstructuredGrid = + vtkSmartPointer::New(); + unstructuredGrid->SetPoints(points); + unstructuredGrid->SetCells(VTK_TETRA, cellArray); + + // Write file + vtkSmartPointer writer = + vtkSmartPointer::New(); + writer->SetFileName(filename.c_str()); +#if VTK_MAJOR_VERSION <= 5 + writer->SetInput(unstructuredGrid); +#else + writer->SetInputData(unstructuredGrid); +#endif + writer->Write(); + + vtkSmartPointer reader = + vtkSmartPointer::New(); + reader->SetFileName(filename.c_str()); + reader->Update(); + + vtkSmartPointer mapper = + vtkSmartPointer::New(); + mapper->SetInputConnection(reader->GetOutputPort()); + + vtkSmartPointer actor = + vtkSmartPointer::New(); + actor->SetMapper(mapper); + + vtkSmartPointer renderer = + vtkSmartPointer::New(); + vtkSmartPointer renderWindow = + vtkSmartPointer::New(); + renderWindow->AddRenderer(renderer); + vtkSmartPointer renderWindowInteractor = + vtkSmartPointer::New(); + renderWindowInteractor->SetRenderWindow(renderWindow); + + renderer->AddActor(actor); + renderer->SetBackground(.3, .6, .3); + + return EXIT_SUCCESS; +} + + +EOF + +cd .. +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src +make +make install +echo "build: OK" +[ -x demo ] +./demo a.vtu +cat a.vtu +echo "run: OK" diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 000000000..bdca94cad --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,3 @@ +Tests: buildBoolean buildPoint buildVTU buildDistance buildPNG buildVTP +Depends: libvtk8-dev, build-essential, cmake +Restrictions: allow-stderr diff --git a/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 000000000..1bd0287b0 --- /dev/null +++ b/debian/upstream/metadata @@ -0,0 +1,9 @@ +Name: VTK +Bug-Database: https://gitlab.kitware.com/vtk/vtk/issues +Documentation: https://vtk.org/documentation/ +Repository-Browse: https://gitlab.kitware.com/vtk/vtk +Reference: + Author: Schroeder, Will and Martin, Ken and Lorensen, Bill + Year: 2006 + Title: The Visualization Toolkit (4th ed.) + ISBN: 978-1-930934-19-1 diff --git a/debian/vtk8-doc.docs b/debian/vtk8-doc.docs new file mode 100644 index 000000000..7d47f2e43 --- /dev/null +++ b/debian/vtk8-doc.docs @@ -0,0 +1,2 @@ +debian/tmp/usr/share/doc/vtk-8.2/doxygen +debian/build/Utilities/Doxygen/doc/html diff --git a/debian/vtk8-doc.links b/debian/vtk8-doc.links new file mode 100644 index 000000000..36ad317a5 --- /dev/null +++ b/debian/vtk8-doc.links @@ -0,0 +1 @@ +usr/share/javascript/jquery/jquery.js usr/share/doc/vtk8-doc/html/jquery.js diff --git a/debian/vtk8-examples.examples b/debian/vtk8-examples.examples new file mode 100644 index 000000000..a8d52f4de --- /dev/null +++ b/debian/vtk8-examples.examples @@ -0,0 +1 @@ +Examples/ diff --git a/debian/vtk8.install b/debian/vtk8.install new file mode 100644 index 000000000..d2cc2cb54 --- /dev/null +++ b/debian/vtk8.install @@ -0,0 +1,3 @@ +# usr/bin/vtk8 +# usr/bin/vtkEncodeString-8.2 +usr/bin/vtkWrapHierarchy-8.2 diff --git a/debian/vtk8.lintian-overrides b/debian/vtk8.lintian-overrides new file mode 100644 index 000000000..fa7987b97 --- /dev/null +++ b/debian/vtk8.lintian-overrides @@ -0,0 +1,3 @@ +# Upstream does not provide manpages +vtk8: binary-without-manpage +vtk8: hardening-no-relro diff --git a/debian/watch b/debian/watch new file mode 100644 index 000000000..59c899983 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=3 +opts=repacksuffix=+dfsg1,uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \ +https://github.com/Kitware/VTK/tags .*/v?(8\.\d\S*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz)) -- 2.30.2